home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / misc / obrn-a_1.lha / oberon-a / src_upd1.lha / source / oel / OELMsg.mod < prev    next >
Text File  |  1995-07-26  |  3KB  |  101 lines

  1. <* STANDARD- *> <* MAIN- *> <* INITIALISE- *>
  2.  
  3. MODULE OELMsg;
  4. (****************************************************************
  5.  
  6.    This file was created automatically by `FlexCat 1.5'
  7.    Do NOT edit by hand!
  8.    Oberon-A source description C 1994 by Albert Weinert
  9.    Using with Oberon-A Interfaces for AmigaOS Release 3.1
  10.    Modified for Oberon-A 1.5 by Frank Copeland
  11.  
  12.    Application: OELMsg
  13.    Language   : "english"
  14.    Version    : 0
  15.    Description: OBERON-A:Catalogs/OELMsg.cd
  16.  
  17. ****************************************************************)
  18.  
  19. IMPORT
  20.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  21.  
  22. CONST
  23.   builtinlanguage = "english";
  24.   version = 0;
  25.  
  26. CONST
  27.   msgTemplate* = 0;
  28.   msgArgError* = 1;
  29.   msgCopyright* = 2;
  30.   msgNotAnErrorFile* = 3;
  31.  
  32. TYPE
  33.   AppString = RECORD;
  34.      id  : LONGINT;
  35.      str : e.LSTRPTR;
  36.   END;
  37.   AppStringArray = ARRAY 4 OF AppString;
  38.  
  39. VAR
  40.   AppStrings : AppStringArray;
  41.   catalog : lo.CatalogPtr;
  42.  
  43.   PROCEDURE SetStrings;
  44.     BEGIN
  45.       AppStrings[0].id := msgTemplate; AppStrings[0].str := y.ADR( "MODULE/A,MODEXT/K,ERREXT/K,COLWIDTH/N,COLSEPERATOR/K,NOLINENUMBERS/S,ERRNUMBERS/S,NOANSI/S,TAGLENGTH/N,TABSIZE/N,ERRPATH/K" );
  46.       AppStrings[1].id := msgArgError; AppStrings[1].str := y.ADR( "%s: Argument error.\n" );
  47.       AppStrings[2].id := msgCopyright; AppStrings[2].str := y.ADR( "%s, Copyright © 1994 Johan Ferreira.\n"
  48.         "OEL (Oberon-A Error Lister) comes with ABSOLUTELY NO WARRANTY.\n"
  49.         "This is free software, and you are welcome to redistribute it\n"
  50.         "under certain conditions.  See OEL.guide for details.\n\n" );
  51.       AppStrings[3].id := msgNotAnErrorFile; AppStrings[3].str := y.ADR( "%s: %s is not an Oberon-A error file.\n" );
  52.     END SetStrings;
  53.  
  54.   PROCEDURE CloseCatalog*();
  55.     BEGIN
  56.       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
  57.    END CloseCatalog;
  58.  
  59.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  60.     VAR Tag : ARRAY 4 OF u.TagItem;
  61.     BEGIN
  62.       CloseCatalog();
  63.       IF (catalog = NIL) & (lo.base # NIL) THEN
  64.         Tag[0].tag := lo.builtInLanguage; Tag[0].data := y.ADR( builtinlanguage );
  65.         Tag[1].tag := u.ignore;           Tag[1].data := y.ADR( language );
  66.         Tag[2].tag := lo.version;         Tag[2].data := version;
  67.         Tag[3].tag := u.done;
  68.  
  69.         IF language # "" THEN
  70.           Tag[1].tag:= lo.language;
  71.         END;
  72.         catalog := lo.OpenCatalogA (loc, "OELMsg.catalog", Tag);
  73.       END;
  74.     END OpenCatalog;
  75.  
  76.   PROCEDURE GetString* (num: LONGINT): e.LSTRPTR;
  77.     VAR
  78.       i: LONGINT;
  79.       default: e.LSTRPTR;
  80.     BEGIN
  81.       i := 0; WHILE (i < 4) & (AppStrings[i].id # num) DO INC (i) END;
  82.  
  83.       IF i # 4 THEN
  84.         default := AppStrings[i].str;
  85.       ELSE
  86.         default := NIL;
  87.       END;
  88.  
  89.       IF catalog # NIL THEN
  90.         RETURN lo.GetCatalogStr (catalog, num, default^);
  91.       ELSE
  92.         RETURN default;
  93.       END;
  94.     END GetString;
  95.  
  96. BEGIN
  97.   catalog := NIL;
  98.   SetStrings;
  99. END OELMsg.
  100.  
  101.